package controlador;

import vista.objetos.GraficableConEtiqueta;
import vista.objetos.NoEsObjetoDiagramableException;
import vista.objetos.NoEsObjetoNodoException;
import vista.objetos.ObjetoGraficableRepetidoException;
import vista.objetos.ProyectoGraficable;
import logica.EntidadRepetidaException;
import logica.IdExternoInexistenteException;
import logica.ObjetoDiagrama;
import memento.IControladorEstadoGuardable;

public interface IObjetoAgregableAlModelo extends IControladorEstadoGuardable{
	
	public void verificarSiSePuedeAgregarObjeto(ObjetoDiagrama objeto) throws EntidadRepetidaException, IdExternoInexistenteException;
	public void agregarObjetoAlModelo(GraficableConEtiqueta graficable) throws EntidadRepetidaException, IdExternoInexistenteException, NoEsObjetoDiagramableException, NoEsObjetoNodoException, ObjetoGraficableRepetidoException;
	public void actualizarVista();
	public ProyectoGraficable getProyectoActual();
}
